package com.vctgo.subject.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.vctgo.common.core.annotation.Excel;
import com.vctgo.common.core.web.domain.TenantEntity;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 科目/期初对象 tb_subject
 *
 * @author zhx
 * @date 2024-12-16
 */
@Data
@TableName("tb_subject")
public class TbSubject extends TenantEntity
{
    private static final long serialVersionUID = 1L;

    /** 科目主键ID */
    @TableId
    private Long id;

    /** 科目编码 */
    @Excel(name = "科目编码")
    private String subjectCode;

    /** 科目名称 */
    @Excel(name = "科目名称")
    private String subjectName;

    /** 助记码 */
    @Excel(name = "助记码")
    private String subjectMnemonic;

    /** 余额方向(状态)
0:借
1:贷 */
    @Excel(name = "余额方向(状态)0:借1:贷")
    private Long subjectBalanceDirectionStatus;

    /** 现金以及现金等价物
0:不勾选
1:勾选 */
    @Excel(name = "现金以及现金等价物0:不勾选1:勾选")
    private Long subjectCashAndCashEquivalents;

    /** 数量核算(计量单位) */
    @Excel(name = "数量核算(计量单位)")
    private String subjectQuantityAccounting;

    /** 外币核算 */
    @Excel(name = "外币核算")
    private String subjectForeignCurrencyAccounting;

    /** 辅助核算(例:客户,供应商,职员) */
    @Excel(name = "辅助核算(例:客户,供应商,职员)")
    private String subjectAuxiliaryAccounting;

    /** 非必填辅助核算(这里边有的是在添加期初的时候可以空着的对象) */
    @Excel(name = "非必填辅助核算(这里边有的是在添加期初的时候可以空着的对象)")
    private String subjectAuxiliaryAccountingOptional;

    /** 余额(在凭证回显的) */
    @Excel(name = "余额(在凭证回显的)")
    private BigDecimal balance;

    /** 科目种类(
1:资产
2:负债
3:权益
4:成本
5:损益) */
    @Excel(name = "科目种类(1:资产2:负债3:权益4:成本5:损益)")
    private Long subjectTypeId;

    /** 科目状态(0:停止1:启动) */
    @Excel(name = "科目状态(0:停止1:启动)")
    private Long subjectStatus;

    /** 父级ID */
    @Excel(name = "父级ID")
    private Long parentId;

    /** 账套外键ID */
    @Excel(name = "账套外键ID")
    private Long accountId;

    /** 期初余额 */
    @Excel(name = "期初余额")
    private BigDecimal subjectOpeningBalance;

    /** 期初数量 */
    @Excel(name = "期初数量")
    private Long subjectOpeningNum;

    /** 借方累计(累计金额) */
    @Excel(name = "借方累计(累计金额)")
    private BigDecimal subjectCumulativeDebitAmount;

    /** 借方数量 */
    @Excel(name = "借方数量")
    private Long subjectCumulativeDebitNum;

    /** 贷方累计(累计金额) */
    @Excel(name = "贷方累计(累计金额)")
    private BigDecimal subjectCumulativeCreditAmount;

    /** 贷方数量 */
    @Excel(name = "贷方数量")
    private Long subjectCumulativeCreditNum;

    /** 科目还是期初(0:在科目添加,在期初也会回显,1:只会在期初中显示) */
    @Excel(name = "科目还是期初(0:在科目添加,在期初也会回显,1:只会在期初中显示)")
    private Long subjectOrOpening;



}
